ThoughtSTEM Blog


Why Software Developers Need to Learn Empathy (as well as Coding)

By: Alan Lam

Empathy: Caring for other people and sharing in their feelings and experiences. It’s undoubtedly an important quality for everyone to have. Empathy is also something that is taught through families, through teachers, through friends. If education is to prepare people for success in the world, then empathy has to be a big part of their education. It’s easy to see how useful having empathy would be for areas such as business, marketing, or any other type of work that requires interacting with other people. However, empathy is just as important for people in computer science.

But wait! People who code just sit in front of their computers and press buttons on a keyboard, right? What does empathy have to do with computer science? To answer that, let’s look at the — perhaps subtle — ways that technology influences the choices we make for ourselves and for our loved ones.

What are your favorite phone, tablet, or computer apps? Would you say that they’re easy to use? They probably are. Do they meet your needs? They probably do. Otherwise you would’ve stopped using them, right?

What about apps for your children? Did you spend a lot of time looking through the hundreds of educational apps trying to find the perfect ones for them? Do they do what you want them to do? They probably do. Otherwise you wouldn’t have let your children use them, right?

Easy to use and meets your needs - these are two properties of successful apps, regardless of platform (iOS, Android, macOS, Windows) or category (social, entertainment, business, food, fitness).

Let’s take a look at Google, for example. Google’s website (google.com) is more or less just a white page with a search bar in the middle. That’s it. There’s nothing fancy or flashy about it. Yet, it’s the most used search engine by far. Why is that? Well, it certainly doesn’t hurt that it is, in fact, easy to use and does exactly what you need it to. With the search bar right in the middle of an empty white page, you know exactly where to click or tap. Also, how often is the answer you’re looking for on the first page of the search results?

While a lot of time was undoubtedly spent by software developers writing the 2 billion lines of code at Google, there was probably an equally significant amount of time spent improving the design and speed. Would you continue to use Google if you had to dig around the website for the search bar? Surely you wouldn’t continue to use Google if it took more than half a minute to load the information you’re looking for. (Imagine if it was on the second page too!) A lot of time was spent making it easy for you to use.

Let’s take a look at YouTube Kids - another example. YouTube Kids was created in 2015 (10 years after YouTube was created) so that children can watch age-appropriate videos. Because of the intended audience, I’m going to go out on a limb here and say that it’s pretty easy to use. But the more important feature is that it meets the needs of parents by providing a safe, curated content for children to watch.

From a basic standpoint, YouTube Kids does pretty much the same thing YouTube does. It allows you to watch videos. So why go through all of the work to make a completely new app that does the same thing? The answer is probably obvious. With the increasing number of children that have access to phones and tablets, it’s important to make sure that kids stay safe when they are online.

It probably took a lot of effort to implement features such as excluding inappropriate videos and giving parents the option to manually select preferred channels and videos. The software developers who made Youtube Kids undoubtedly needed a lot of feedback from parents throughout the design process. But all that effort was devoted to satisfying what you were seeking for your children.

So what do Google and YouTube Kids both have in common? (Besides being owned by Google.) They were both built with the user in mind. The people who wrote the code for those websites know that we want relevant search results quickly. They know that parents want a safe educational experience for their children. They also know that apps should be easy to use so that we don’t become too frustrated to use them. As a result, they have successfully created apps that have become such a big part of our world.

Easy to use and meets your needs: As humans, we value apps that have these two properties. As humans, we also have the power to make apps that have these two properties. We just have to constantly keep in mind who our users are. Furthermore, our design processes must involve interviewing potential users and understanding their needs as completely as possible.

This is why it’s so important for software developers to have empathy. It’s important for software developers to understand and value the feelings and needs of others. It’s important for software developers to care about others; care about how users feel when using their app; care about how users can accomplish their goals by using their app. By understanding how others think and recognizing the desires and needs of others, software developers can make apps that other people can and want to use. Software developers aren’t making apps for themselves to use; they’re making apps for other people to use. They’re making apps for you to use.

This is why we strive to teach empathy in our coding classes at ThoughtSTEM: so that the software developers of the future care about their users and their needs!